$(function () {
    // 需求一：获取用于信息渲染欢迎和头像
    getUserInfo();

    // 需求二：退出功能
    $('#logout').on('click', function () {
        // layui中使用layer不需要let layer = layui.layer,但除此之外都需要写全,比如layer.form
        // layui中的询问框,点击确定才会执行回调函数
        layer.confirm('确定退出登录吗?', { icon: 3, title: '提示' }, function (index) {
            // 删除token,跳转到登录页
            localStorage.removeItem('token');
            location.href = '/login.html';
            // layui自带的代码, 用于关闭询问框
            layer.close(index);
        });
    });
})

// 将方法封装成全局函数，因为要在其他局部调用
function getUserInfo() {
    axios({
        method: 'get',
        url: '/my/userinfo',
        // 通过设置请求头设置token身份认证
        // 后续在common.js中设置默认头信息
        // headers: {
        //     Authorization: localStorage.getItem('token') || ''
        // }
    }).then(function (res) {
        // console.log(res.data);
        // 判断数据响应状态
        if (res.data.status !== 0) {
            return layui.layer.msg(res.data.message);
        }
        // 渲染用户信息和头像函数调用
        renderAvatar(res.data.data);
    });
}

// 渲染用户信息和头像
function renderAvatar(user) {
    let name = user.nickname || user.username;
    $('.welcome').html('欢迎&nbsp' + name);
    if (user.user_pic !== null) {
        // 如果用户上传了自己的头像,则隐藏文字头像,显示图片头像
        $('.avatar-text').hide();
        $('.layui-nav-img').show().attr('src', user.user_pic);
    } else {
        $('.layui-nav-img').hide();
        let firstLetter = name[0].toUpperCase();
        $('.avatar-text').html(firstLetter)
    }
}